﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using ESRI.ArcGIS.DataSourcesFile;
using ESRI.ArcGIS.Display;
using ESRI.ArcGIS.Editor;
using ESRI.ArcGIS.EditorExt;
using ESRI.ArcGIS.esriSystem;
using ESRI.ArcGIS.Geodatabase;
using ESRI.ArcGIS.Geometry;
using ESRI.ArcGIS.GlobeCore;
using ESRI.ArcGIS.NetworkAnalysis;
using ESRI.ArcGIS.Output;
using ESRI.ArcGIS.SystemUI;
using DIWAGIS.Modules;
using System.Xml;
using DIWAGIS;

namespace DIWAGIS.ApplicationLayer.HeThong
{
    public partial class frmLoginServer : Form
    {
        public frmLoginServer()
        {
            InitializeComponent();
        }
        Helper help=new Helper();
        
        string checkResult = "";
        
        private void frm_connectionDB_Load(object sender, EventArgs e)
        {
         
        }
        private void btLogin_Click(object sender, EventArgs e)
        {
            ConnectDB();
            this.Close();
        }
        public  void loadConfig(String sUser)
        {
            txtUsername.Text=sUser;  
        }
        private void ConnectDB()
        {
            string str = help.getConfigInTextFile();
            string[] array;
            array = str.Split(',');
            generalVariable.server = array[0].Trim();
            generalVariable.database = array[1].Trim();
            generalVariable.service = array[2].Trim();
            generalVariable.username = txtUsername.Text.Trim();
            generalVariable.password = txtPassword.Text.Trim();
            generalVariable.sde = array[4].Trim();

            //checkResult += help.checkStringLength(generalVariable.server, "", 250, 1, "Vui lòng nhập tên máy chủ");
            //checkResult += help.checkStringLength(generalVariable.database, "", 250, 1, "Vui lòng nhập tên cơ sở dữ liệu");
            //checkResult += help.checkStringLength(generalVariable.service, "", 250, 1, "Vui lòng nhập tên dịch vụ");
            checkResult += help.checkStringLength(generalVariable.username, "", 250, 1, "Vui lòng nhập tên đăng nhập");
            checkResult += help.checkStringLength(generalVariable.password, "", 250, 1, "Vui lòng nhập mật khẩu đăng nhập");
            // checkResult += help.checkStringLength(generalVariable.sde, "", 250, 1, "Vui lòng nhập vào phiên bản");

            if (checkResult == "")
            {
                connectionDB connec;
                connec = new connectionDB();

                string[] array1 = generalVariable.server.Split('\\');

                generalVariable.ICurrentWorkspace = connec.openSDEWorkspaceAccount(array1[0], generalVariable.service, generalVariable.database, generalVariable.username, generalVariable.password, generalVariable.sde);


                if (generalVariable.ICurrentWorkspace != null)
                {

                    //IWorkspaceFactorySchemaCache workspaceFactorySchemaCache =(IWorkspaceFactorySchemaCache)workspaceFactory;


                    help.write_FileConfig(generalVariable.server + "," + generalVariable.database + "," + generalVariable.service + "," + generalVariable.username + "," + generalVariable.sde);

                    ConfigInterface config;
                    config = new ConfigInterface();

                    config.themLayerFile(generalVariable.mapControl);

                    config.themLayerFile1(generalVariable.mapControl2);
                    
                    generalVariable.mapControl.MapScale = 10000;
                 

                    // MessageBox.Show("Thông báo , đăng nhập thành công ", generalVariable.nameProgram, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    //return true;
                }
                else
                {
                    //MessageBox.Show("Thông báo! Chương trình không thể đăng nhập vào hệ thống, vui lòng cấu hình lại thông số kết nối ", generalVariable.nameProgram, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    //return false;
                    frmDangNhapHeThong frm = new frmDangNhapHeThong();
                    frm.ShowDialog();
                }


            }
            else
            {
                MessageBox.Show("Thông báo : \n " + checkResult, generalVariable.nameProgram, MessageBoxButtons.OK, MessageBoxIcon.Error);
                //return false;
            }
   

        }

        private void btCancel_Click(object sender, EventArgs e)
        {
            this.Close();
        }

      
    }
}
